package nz.ac.massey.cs.se400_2013.ass3.message;

/**
 * @author Chen
 * <h1>MessageProducer</h1>
 *
 * <p>Message Producer Interface</p>
 * <p>Class can implement this listener to produce messages.</p>
 */
public interface MessageProducer
{
    /**
     * @param listener who want to listen.
     */
    public void addMessageListener(MessageListener listener);

    /**
     * @param listener who want to remove.
     */
    public void removeMessageListener(MessageListener listener);

    /**
     * @param message which want to send.
     */
    public void sendMessage(Message message);
}
